package fr.afcepf.atod21.business;

import java.util.List;

import fr.afcepf.atod21.data.DaoStagiaireImpl;
import fr.afcepf.atod21.data.IDaoStagiaire;
import fr.afcepf.atod21.entity.Stagiaire;
import fr.afcepf.atod21.exception.Atod21Exception;

/**
 * Impl.
 * @author Stagiaire
 *
 */
public class BusinessStagiaireImpl implements IBusinessStagiaire {

    private IDaoStagiaire dao = new DaoStagiaireImpl(); 

    /** Pour injection.
     * @param paramDao the dao to set
     */
    public void setDao(IDaoStagiaire paramDao) {
        dao = paramDao;
    }

    
    
    @Override
    public Stagiaire ajouter(Stagiaire paramStagiaire) throws Atod21Exception {
        
        List<Stagiaire> liste = rechercher(paramStagiaire.getNom());
        
        boolean dejaDansLaBDD = false;
        
        if (liste != null) {
            for (Stagiaire s : liste) {
                if (paramStagiaire.getAdresse().equals(s.getAdresse()) && paramStagiaire.getNom().equals(s.getNom()) && paramStagiaire.equals(s.getPrenom())) {
                    dejaDansLaBDD = true;
                }     
            }
        }
        
        if (!dejaDansLaBDD) {
            paramStagiaire = dao.ajouter(paramStagiaire);
        }
        
        return paramStagiaire;
    }
    
    @Override
    public List<Stagiaire> rechercher(String paramNom) {
        
        return dao.rechercher(paramNom);
    }

    @Override
    public List<Stagiaire> rechercher(int paramIdOrganisme) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Stagiaire renvoi(Stagiaire paramStagiaire) throws Atod21Exception {
        // TODO Auto-generated method stub
        return null;
    }

}
